Micron Document
Gopher Proxy


glog.fosconetwork.org:70 glog.fosconetwork.org:70/0/code/tokenize.sh
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function tokenize {
[ "$2" = "" ] && return 0
a_tok=()
fnum=0
a_faddr=(0)
string="$1"
len="${#string}"

for (( k=$len+1 ; k--;))
do
if [ "${string:$len-$k:1}" = "$2" ]
then
let pos=$len-$k+1
let fnum++
a_faddr[$fnum]=$pos
fi
done

a_tok[0]=${string:0:${a_faddr[1]}-1}

for (( k=$fnum+1 ; k--;))
do
if [ $k -ne 1 ]
then
let len=${a_faddr[$fnum-$k+2]}-${a_faddr[$fnum-$k+1]}-1
a_tok[$fnum-$k+1]=${string:${a_faddr[$fnum-$k+1]}:$len}
else
a_tok[$fnum]=${string:${a_faddr[$fnum-$k+1]}}
fi
done

let fnum++
return $fnum
}

tokenize "test0 test1 test2 test3" " "
tok_nb=$?

for ((k=$tok_nb; k--;))
do
echo ${a_tok[$tok_nb-$k-1]}
done

you're on glog.fosconetwork.org^70/0/code/tokenize.sh
back link is glog.fosconetwork.org:70/1